package com.huikeportal.service;

import java.util.List;
import java.util.Map;

import com.huikeportal.model.MessageCommon;
import com.huikeportal.model.PosAllInfo;
import com.huikeportal.model.PosApplication;
import com.huikeportal.model.PosDataManagerInfo;
import com.huikeportal.model.SiteAllInfo;
import com.huikeportal.model.SiteType;
import com.huikeportal.model.UserInfo;
import com.huikeportal.model.common.PageDataVo;

public interface PosService {

	PosDataManagerInfo getPosDataById(PosDataManagerInfo posDataManangerInfo)
			throws Exception;
	
	Map addPosData(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	Map addPosDataOfImport(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	MessageCommon addPosDataDetail(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	MessageCommon updatePosData(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	MessageCommon updatePosDataDetail(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	MessageCommon deletePosData(PosDataManagerInfo posDataManagerInfo) throws Exception;
	
	MessageCommon deletePosDataDetail(PosDataManagerInfo posDataManagerInfo) throws Exception;

	int getLowPermission(List<SiteAllInfo> siteList) throws Exception;
	
	List<SiteAllInfo> getAllGcList(List<SiteAllInfo> siteList) throws Exception;
	
	String getSitePermitAreaStr(List<SiteAllInfo> sitePermitList) throws Exception;
	
	List<SiteAllInfo> getAllSiteList(List<SiteAllInfo> siteList) throws Exception;
	
	List<SiteType> getSiteTypes(String para) throws Exception;
	
	List<SiteAllInfo> getSitesByUser(UserInfo userInfo) throws Exception;
	
	PageDataVo getPosSiteList(PageDataVo pageDataVo) throws Exception;
	
	PageDataVo getPosDetail(PageDataVo pageDataVo) throws Exception;
	
	List<SiteAllInfo> getAllSitesBySquare(List<SiteAllInfo> squareList) throws Exception;
	
	public String getDate() throws Exception;
	
	public String getPosDataIdByParams(PosDataManagerInfo posDataManagerInfo);
	
	List<PosApplication> getTemplateColumns(PosApplication info) throws Exception;
	
	PosAllInfo getDataBySiteKAndTransT(PosDataManagerInfo info);
	
	public MessageCommon updateDataOfImport(PosAllInfo info) throws Exception;
}
